package educar.controllers;

import educar.gui.AdminDocenteMateriaView;
import educar.gui.IView;
import educar.models.Materia;
import educar.models.materiaNotFound;

public class AdminDocenteMateriaController implements IController
{
    AdminDocenteMateriaView  view;

    public void setView(IView view)

    {
        this.view = (AdminDocenteMateriaView)view;
    }

    public void processItemList(String name, String item)
    {
    }

    public void process(String model)
    {
        if (model.compareTo(AdminDocenteMateriaView.ASIGNAR) == 0)
            asignar();
    }

    private void asignar()
    {
        String dni = AdminDocenteController.getApuntado().getDni();
        if (view.getResponsable())
        {
            String codigo = view.getCodMateriaSelected();
            try
            {
                Materia materia = Materia.getMateriabyCodigo(codigo);
                String responsableActual = materia.getDniResponsable();


                if (responsableActual == null)
                {
                    materia.setDniResponsable(dni);
                    materia.update();
                    //TODO:if (materia.isAuxiliar(dni))
                    //TODO:Materia.eliminarAuxiliar(dni);
                    view.present("Responsable asignado");
                    view.close();
                }
                else
                {
                    materia.setDniResponsable(dni);
                    materia.update();
                    // TODO:if (materia.isAuxiliar(dni))
                    //  TODO:  Materia.eliminarAuxiliar(dni);
                    view.present("Nuevo responsable asignado");
                    view.close();
                }
            }
            catch (materiaNotFound m1)
            {
            }
        }
        else
        {
        	String codigo = view.getCodMateriaSelected();
            try
            {
                Materia materia = Materia.getMateriabyCodigo(codigo);
                if (materia.agregarAuxiliar(dni))
                {
                    //TODO:if (materia.isResponsable(dni))
                    //TODO: Materia.eliminarResponsable(dni);
                    view.present("Auxiliar agregado");
                    view.close();
                }
                else
                    view.present("Ya es auxiliar de esta materia");
            }
            catch (materiaNotFound m2)
            {
            }
        }
    }



}



